package com.sihai.ehr.service;

import com.sihai.core.Limit;
import com.sihai.core.LimitedList;
import com.sihai.core.Sorter;
import com.sihai.ehr.model.biz.AdministrationEvectionCostApplyForm;
import com.sihai.ehr.model.biz.AdministrationEvectionCostApplyFormAuditing;
import com.sihai.ehr.model.biz.AdministrationEvectionCostApplyFormDetail;
import com.sihai.ehr.model.sys.User;
import com.sihai.ehr.web.pojo.SearchFormPojo;

import java.util.List;

/**
 * author: wxn
 * since: 13-4-15 23:58
 * 行政签核系统 - 出差费用申报单Service
 */
public interface AdministrationEvectionCostApplyFormService {
    void save(AdministrationEvectionCostApplyForm form, List<AdministrationEvectionCostApplyFormDetail> details)throws Exception;

    AdministrationEvectionCostApplyForm get(Long id)throws Exception;

    boolean delete(String ids)throws Exception;

    LimitedList<AdministrationEvectionCostApplyForm> findAdministrationEvectionCostApplyForm(User user, final SearchFormPojo searchFormPojo, Limit limit, Sorter sorter)throws Exception;

    List<List<AdministrationEvectionCostApplyFormAuditing>> findAdministrationEvectionCostApplyFormAuditing(Long formId)throws Exception;

    void saveAdministrationEvectionCostApplyFormAuditingProcess(Long formId)throws Exception;

    List<AdministrationEvectionCostApplyFormDetail> findAdministrationEvectionCostApplyFormDetails(AdministrationEvectionCostApplyForm applyForm)throws Exception;
}
